$├┬9┴ ╠OAD .╪ WITH THE FILE POINTER ╞2╨╘╥ [$┬4] AND OBTAIN THE OFFSET FOR THE START OF THE DIRECTORY ENTRY FROM ┼╬╘╔╬─,╪ [$4├67,╪].
$├┬9╞ ╩╙╥ ╙┼╘╨╬╘ [$─533] TO SET ─╔╥┬╒╞ [$69-$6┴] TO POINT TO THE DIRECTORY ENTRY.
$├┬┴2 ╠OAD .╪ WITH THE FILE INDEX IN ╞2╨╘╥ [$┬4] AND OBTAIN THE FILE TYPE MASK ╨┴╘╘┘╨,╪ [$4├71,╪].
$├┬┴7 ┴╬─ THIS VALUE WITH $07 TO OBTAIN THE FILE TYPE AND SAVE THE RESULT IN ╘┘╨┼ [$┬├].
$├┬┴┬ ╙ET THE RECORD LENGHT ╥┼├ [$┬9] TO ZERO.
$├┬┴╞ ╩╙╥ ╧╨╥┼┴─ [$─8┼4] TO OPEN THE FILE FOR READING AND READ THE FIRST BLOCK.
$├┬┬2 ╙ET .┘ TO $01 AND ╩╙╥ ╘┘╨╞╔╠ [$─1─╞] TO DETERMINE THE FILE TYPE.
$├┬┬7 ╔F IT IS A RELATIVE FILE THEN BRANCH TO ╧╨╔╥10.
$├┬┬9 ╔NCREMENT .┘ TO $02.
$├┬┬┴ ╧╨╔╥10 ╘RANSFER .┘ TO .┴ AND TERMINATE THE ROUTINE WITH A JUMP TO ╙┼╘╨╬╘ [$─533] TO SET ─╔╥┬╒╞ [$69-$6┴] TO POINT TO THE FIRST DATA BYTE.
╟╔┬┘╘┼ ╟ET BYTE FROM INTERNAL READ CHANNEL
$├┬┬┼ ╙ET ╙┴ [$58] TO $11 (THE INTERNAL READ CHANNEL).
╟├┬┘╘┼ ╟ET BYTE FROM ANY CHANNEL
$├┬├2 ╩╙╥ ╟┬┘╘┼ [$─401] TO GET THE NEXT BYTE FROM A CHANNEL AND SAVE THE BYTE IN ─┴╘┴ [$5┴].
$├┬├7 ╠OAD .╪ WITH THE CURRENT CHANNEL NUMBER FROM ╠╔╬─╪ [$57].
$├┬├9 ╧BTAIN THE CHANNEL STATUS FROM ├╚╬╥─┘,╪ [$4├7┼,╪] AND ┴╬─ IT WITH $08 TO SEE IF ┼╧╔ HAS OCCURRED.
╙AVE THE RESULT IN ┼╧╔╞╠╟ [$┬1] AND IF ┼╧╔ WAS NOT DETECTED THEN BRANCH TO ╟╔┬20.
$├┬─2 ╩╙╥ ╘┘╨╞╔╠ [$─1─╞] AND IF THIS IS A RELATIVE FILE THEN BRANCH TO ╟╔┬20.
$├┬─7 ╙ET .┴ TO $80 AND ╩╙╥ ╙├╞╠╟ [$─├╞┼] TO SET THE ┼╧╔ INDICATOR FOR THIS FILE.
$├┬─├ ╟╔┬20 ╥ETURN.
├┘┼╪╘ ├OPY RELATIVE FILE
$├┬── ╩╙╥ ╙┼╘─╥╬ [$─28┼] TO SET THE DRIVE NUMBER.
$├┬┼0 ╩╙╥ ╙╙┼╬─ [$┼22┬] TO POSITION TO END OF THE LAST RECORD.
$├┬┼3 ╙AVE SIDE SECTOR INDEX ╙╙╔╬─ [$┬┴] AND SIDE SECTOR NUMBER ╙╙╬╒═ [$┬┬] ON THE STACK.
$├┬┼9 ╙ET THE SECONDARY ADDRESS ╙┴ [$58] TO $12, THE INTERNAL WRITE CHANNEL.
$├┬┼─ ╩╙╥ ╞╬─╫├╚ [$─1├1] TO FIND THE WRITE CHANNEL #.
$├┬╞0 ╩╙╥ ╙┼╘─╥╓ [$─28┼] TO SET THE DRIVE NUMBER FOR THIS CHANNEL.
$├┬╞3 ╩╙╥ ╙╙┼╬─ [$┼22┬] TO POSITION TO END OF THE LAST RECORD.
$├┬╞6 ╩╙╥ ╨╧╙┬╒╞ [$┼300] TO POSITION PROPER DATA BLOCKS INTO BUFFERS.
$├┬╞9 ╙ET ╥1 [$5├] TO ╙╙╔╬─ [$┬┴] AND ╥0 [$5┬] TO ╙╙╬╒═ [$┬┬].
$├├01 ├LEAR ╥2 [$5─], ╥┼├╨╘╥ [$4├38], AND ╥┼╠╨╘╥ [4├39].
$├├0┬ ╥ESTORE ╙╙╬╒═ [$┬┬] AND ╙╙╔╬─ [$┬┴] FROM THE STACK AND JUMP TO ┴──╥1 [$┼3┴─] TO ADD THE RECORDS TO THE RELATIVE FILE.
╥┼╬┴═┼ ╥ENAME A FILE IN THE DIRECTORY
$├├14 ╩╙╥ ┴╠╠─╥╙ [$├23├] TO SET UP ALL REQUIRED DRIVES.
$├├17 ╧BTAIN THE DRIVE NUMBER FOR THE SECOND FILE FROM ╞╔╠─╥╓+1 [$4├6─], MASK OFF THE DEFAULT BIT BY ┴╬─ING WITH $01, AND SAVE THE RESULT BACK INTO ╞╔╠─╥╓+1 [$4├6─].
$├├1╞ ├OMPARE THIS DRIVE NUMBER WITH THAT FOR THE FIRST FILE IN ╞╔╠─╥╓ [$4├6├] AND BRANCH TO ╥╬10 IF THEY ARE EQUAL.
$├├24 ╧╥ THE DRIVE NUMBER WITH $80 TO FORCE A SEARCH OF BOTH DRIVES.
$├├26 ╥╬10 ╙TORE THE DRIVE NUMBER INTO ╞╔╠─╥╓ [$4├6├].
$├├29 ╩╙╥ ╠╧╧╦╒╨ [$├366] TO LOOK UP THE FILE NAMES IN THE DIRECTORY.
$├├2├ ╩╙╥ ├╚╦╔╧ [$├├78] TO CHECK FOR THE EXISTENCE OF THE FILES.
$├├2╞ ╠OAD .┴ WITH THE DRIVE NUMBER FOR THE SECOND FILE FROM ╞╔╠╥─╓+1 [$4├6─], ┴╬─ IT WITH $01 TO MASK OFF THE DEFAULT BIT, AND SET THE DRIVE NUMBER ─╥╓╬╒═ [$54] FROM THIS VALUE.
$├├36 ╙ET ╙┼├╘╧╥ [$56] TO ┼╬╘╙┼├+1 [$4├63], THE SECTOR NUMBER OF THE DIRECTORY BLOCK CONTAINING THE SECOND FILE NAME.
$├├3┬ ╩╙╥ ╥─┴┬ [$──╞┼] TO READ THE DIRECTORY BLOCK.
$├├3┼ ╩╙╥ ╫┴╘╩╧┬ [$─5╞7] TO WAIT FOR THE JOB TO FINISH.
$├├41 ╠OAD .┴ WITH THE POINTER TO THE ENTRY WITHIN THE DIRECTORY BLOCK ┼╬╘╔╬─+1 [$4├68], ADD $03 TO GIVE THE OFFSET TO THE FILE NAME, AND SET DIRECTORY POINTER TO THIS VALUE BY ╩╙╥ ╙┼╘╨╬╘ [$─533].
$├├4┴ ╩╙╥ ╟┼╘┴├╘ [$──5╞] TO OBTAIN THE ACTIVE BUFFER NUMBER AND TRANSFER IT TO .┘.
$├├4┼ ╠OAD .╪ WITH THE OFFSET TO THE NEW FILE NAME FROM ╞╔╠╘┬╠ [$4┼30].
$├├51 ╠OAD .┴ WITH $10, THE MAXIMUM FILE NAME LENGTH, AND ╩╙╥ ╘╥╬┴═┼ [$├584] TO COPY THE NEW FILE NAME FROM THE COMMAND STRING TO THE DIRECTORY ENTRY.
$├├56 ╩╙╥ ╫╥╘╧╒╘ [$─┼02] TO WRITE OUT THE REVISED DIRECTORY BLOCK.
$├├59 ╩╙╥ ╫┴╘╩╧┬ [$─5╞7] TO WAIT FOR THE JOB TO FINISH.
$├├5├ ╩UMP TO ┼╬─├═─ [$├0├╞] TO TERMINATE THE ROUTINE.